package br.com.senac.pi.interfaces;

import br.com.senac.pi.util.FilesType;


public interface PIDataObject  {
	
	/**
	 * Recupera o indice do resgistro
	 * @return
	 */
	public Long getId();
	
	/**
	 * Configura o indice do registro
	 * @param id
	 */
	public void setId(Long id);
	
	/**
	 * Tipo do modelo
	 * @return
	 */
	public FilesType getFileType();
	
	/**
	 * Serializa o dado a ser salvo no arquivo
	 * Os valores devem ser separados por ";". Exemplo: valor;valor1;valor2
	 * @return
	 */
	public String persistenceData();
	
	/**
	 * Deserializa o registro do arquivo 
	 * @param data
	 */
	public void parseData(String data);
	
	/**
	 * Recupera o dado usado para ordenar os registros
	 * @return
	 */
	public String getDataSorting();
	
}
